package com.leps.nq.sys.service;

import com.leps.nq.sys.entity.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import com.leps.nq.sys.vo.CreateMenuVo;
import com.leps.nq.sys.vo.MenuInfoVo;

import java.util.List;

/**
 * <p>
 * 菜单权限表 服务类
 * </p>
 *
 * @author hex
 * @since 2022-05-20
 */
public interface ISysMenuService extends IService<SysMenu> {

    List<MenuInfoVo> selectMenusAsTree();

    List<SysMenu> selectMenusAsList();

    List<SysMenu> selectChildrenByParentId(Long parentId);

    boolean createMenu(CreateMenuVo createMenuVo);

    boolean updateMenu(SysMenu sysMenu);

    boolean changeVisible(Long menuId, String visible);

    boolean changeStatus(Long menuId, String status);

    boolean removeMenus(Long[] menuIds);

    List<Long> selectDeepChidrenByParentId(Long parentId);
}
